package com.rc.saas.tenant.service.shop;

import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.common.vo.TResponse;
import com.rc.saas.tenant.mapper.shop.ShopGoodsMapper;
import com.rc.saas.tenant.model.shop.ShopGoods;
import com.rc.saas.tenant.model.shop.ShopGoodsExample;
import com.rc.saas.tenant.model.tenant.TenantUser;
import com.rc.saas.tenant.search.shop.ShopGoodSearch;
import com.rc.saas.tenant.upyun.WebUploader;
import com.rc.saas.tenant.vo.shop.ShopGoodsVo;
import com.upyun.UpException;

import java.io.IOException;
import java.util.List;

/**
 * @Author:
 * @Date:
 * @Description:
 */
public interface ShopGoodsService extends BaseService<Long, ShopGoods, ShopGoodsExample, ShopGoodsMapper> {
    PageInfo<ShopGoodsVo> listPageByCondition(ShopGoodSearch shopGoodSearch);

    TResponse saveOrUpdateShopOrder(ShopGoodsVo shopGoodsVo);

    void addOrReduceShopGoods(ShopGoods shopGoods, int type, String remark, int num);

    TResponse deleteImages(WebUploader webUploader, ShopGoodsVo shopGoodsVo);

    List<ShopGoods> listByTicketTypeId(Long ticketTypeId);

    TResponse updateShopGoods(Long shopOrderId, TenantUser user);

}
